package com.stylefeng.guns.modular.util;

import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
 * 
 * ClassName: 时间工具类 
 * @Description: TODO
 * @author zhangyaoyao
 * @date 2017年12月5日
 */
public class TimeUtil {
	/**
	 * 获取一年中所以月份的最后一天
	 * @Description: TODO
	 * @param @param year
	 * @param @return   
	 * @return List<String>  
	 * @throws
	 * @author zhangyaoyao
	 * @date 2017年12月5日
	 */
		public static List<String> getLastDayOfMonth(String year) {
			int y = Integer.parseInt(year);
			List<Integer> list = new ArrayList<>();//月份
			List<String> lastDayOfMonthList = new ArrayList<>();
			for(int i =1;i<=12;i++){
				list.add(i);
			}
			for(int i=0;i<list.size();i++){
				int month = list.get(i);
				LocalDate localDate = LocalDate.of(y, month, 1);
				LocalDate lastDayofmonth = localDate.with(TemporalAdjusters.lastDayOfMonth());
				DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyyMMdd");
				String format = lastDayofmonth.format(f);
			    lastDayOfMonthList.add(format);
			}
			return lastDayOfMonthList;
	    }
	 
		/**
		 * 获取前几个月的时间
		 * @Description: TODO
		 * @param @param time
		 * @param @param num
		 * @param @return   
		 * @return String  
		 * @throws
		 * @author zhangyaoyao
		 * @date 2017年12月5日
		 */
	 	public static String getMonth(String time,int num) {
			SimpleDateFormat sdf= new SimpleDateFormat( "yyyyMM"); 
			Date dt=sdf.parse(time,new ParsePosition(0)); 
			Calendar rightNow = Calendar.getInstance(); 
			rightNow.setTime(dt); 
			rightNow.add(Calendar.MONTH, -num);
			Date formNowMonth = rightNow.getTime();
			return sdf.format(formNowMonth);
		}
}
